The present disclosure relates to a drawing processing technology, and more particularly to a technology for presenting a drawing command and data used by the drawing command.
In personal computers and game consoles, the use of high-image quality graphics has become pervasive. Among examples of these are executing an application such as a game or a simulation using high-quality three-dimensional computer graphics and playing video content generated by combining real images and computer graphics.
In general, graphics is processed by a central processing unit (CPU) and a graphics processing unit (GPU) operating in a coordinated manner. The CPU is a general-purpose processor designed to perform general-purpose operations. In contrast, the GPU is a dedicated processor designed to perform high-level graphics operations. The CPU handles geometry operations such as projection transform based on a three-dimensional model of an object. The GPU receives vertex data from the CPU and performs rendering. The GPU includes dedicated hardware such as a rasterizer and a pixel shader, performing graphics processing through pipelining.
Some recent GPUs are called program shaders. As this name suggests, these GPUs have a programmable shader function. In order to support shader programming, a graphics library is commonly supplied. When an object is rendered, it is necessary for the CPU to generate graphics commands to be executed by the GPU hardware one after another and hand them over to the GPU.
In connection with the related art, the reader is requested to refer to Japanese Patent Laid-Open No. 2008-123520.